Reducing wasted development time via continuous testing
نویسندگان
چکیده
Testing is often performed frequently during development to ensure software reliability by catching regression errors quickly. However, stopping frequently to test also wastes time by holding up development progress. User studies on real development projects indicate that these two sources of wasted time account for 10–15% of development time. These measurements use a novel technique for computing the wasted extra development time incurred by a delay in discovering a regression error. We present a model of developer behavior that infers developer beliefs from developer behavior, and that predicts developer behavior in new environments — in particular, when changing testing methodologies or tools to reduce wasted time. Changing test ordering or reporting reduces wasted time by 4–41% in our case study. Changing the frequency with which tests are run can reduce wasted time by 31–82% (but developers cannot know the ideal frequency except after the fact). We introduce and evaluate a new technique, continuous testing, that uses spare CPU resources to continuously run tests in the background, providing rapid feedback about test failures as as source code is edited. Continuous testing reduced wasted time by 92–98%, a substantial improvement over the other approaches. We have integrated continuous testing into two development environments, and are beginning user studies to evaluate its efficacy. We believe it has the potential to reduce the cost and improve the efficacy of testing and, as a result, to improve the reliability of delivered systems.
منابع مشابه
Reducing wasted development time via continuous testing - Software Reliability Engineering, 2003. ISSRE 2003. 14th International Symposium on
Testing is often performed frequently during development to ensure software reliability by catching regression errors quickly. However, stopping frequently to test also wastes time by holding up development progress. User studies on real development projects indicate that these two sources of wasted time account for 10–15% of development time. These measurements use a novel technique for comput...
متن کاملProactive Software Engineering Approach to Ensure Rapid Software Development and Scalable Production with Limited Resources
Nowadays, the need for building scalable systems in narrow time window is needed. While the efforts and accuracy usually required for building high scale systems is not simple, the agile nature of system requirements spawn a need for enhancing some software engineering practices. These practices should be integrated together in order to help software (SW) development teams to build, and test sc...
متن کاملResource-Constrained Scheduling of Tests in New Product Development
The problem of resource-constrained scheduling of testing tasks for new product development is addressed. The problem is important because, in some industries like pharmaceutical and agrochemicals, a new product is required to pass all the tests by federal laws. If a product fails any of the tests, then all the remaining work on that product is halted and the investment in the previous tests is...
متن کاملSoftware Quality Transformation
If the above data is correct, software development is in a crisis a crisis of quality that finds IT organizations all too often unable to deliver applications on time, on budget, and at the quality levels users need. Poor development and testing processes result in wasted money and time, business disruption, lost business opportunities, security breaches and risk of regulatory noncompliance. To...
متن کاملA Complete Automation of Unit Testing for JavaScript Programs
Problem statement: Program testing is expensive and labor intensive, often consuming more than half of the total development costs, and yet it is frequently not done well and the results are not always satisfactory. The objective of this paper is to present an automatic test data generation tool that aims to completely automate unit testing of JavaScript functions. The methodology: In order to ...
متن کامل